home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Programming / AmigaTalk / User / Fraction.p < prev    next >
Text File  |  2000-05-08  |  6KB  |  135 lines

  1. pTempVar <- <primitive 110 21 >
  2. <primitive 112 pTempVar 1  " >= " \
  3.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  4.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r12 16r22 \
  5.         16r80 16r01 16rCB 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  6.         16r5C 16rF3 16rF2 16rF5] \
  7.     #( #isKindOf: #fraction  )) >
  8.  
  9. <primitive 112 pTempVar 2  " <= " \
  10.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  11.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r12 16r22 \
  12.         16r80 16r01 16rC8 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  13.         16r5C 16rF3 16rF2 16rF5] \
  14.     #( #isKindOf: #fraction  )) >
  15.  
  16. <primitive 112 pTempVar 3  " > " \
  17.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  18.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r12 16r22 \
  19.         16r80 16r01 16rCC 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  20.         16r5C 16rF3 16rF2 16rF5] \
  21.     #( #isKindOf: #fraction  )) >
  22.  
  23. <primitive 112 pTempVar 4  " < " \
  24.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  25.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r12 16r22 \
  26.         16r80 16r01 16rC7 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  27.         16r5C 16rF3 16rF2 16rF5] \
  28.     #( #isKindOf: #fraction  )) >
  29.  
  30. <primitive 112 pTempVar 5  " ~= " \
  31.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  32.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r10 16r22 \
  33.         16r80 16r01 16rCA 16r11 16r22 16r80 16r02 16rCA 16r81 16r03 \
  34.         16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 16r5C 16rF3 16rF2 \
  35.         16rF5] \
  36.     #( #isKindOf: #numerator #denominator #&  )) >
  37.  
  38. <primitive 112 pTempVar 6  " == " \
  39.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  40.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r10 16r22 \
  41.         16r80 16r01 16rB5 16r11 16r22 16r80 16r02 16rB5 16r81 16r03 \
  42.         16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 16r5C 16rF3 16rF2 \
  43.         16rF5] \
  44.     #( #isKindOf: #numerator #denominator #&  )) >
  45.  
  46. <primitive 112 pTempVar 7  " printString " \
  47.   #( #[ 16r10 16rFA 16r01 16r4E 16r30 16r0B 16r11 16r11 16rFA 16r01 16r4E \
  48.         16r0B 16r11 16rA8 16rF2 16rF5] \
  49.     #( ' / '  )) >
  50.  
  51. <primitive 112 pTempVar 8  " / " \
  52.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  53.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r22 \
  54.         16r80 16r01 16rC2 16rF3 16rF5] \
  55.     #( #isKindOf: #reciprocal  )) >
  56.  
  57. <primitive 112 pTempVar 9  " * " \
  58.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  59.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r10 16r22 \
  60.         16r80 16r01 16rC2 16r60 16r11 16r22 16r80 16r02 16rC2 16r61 \
  61.         16r10 16r11 16rBE 16rF1 16r62 16rF3 16rF5] \
  62.     #( #isKindOf: #numerator #denominator  )) >
  63.  
  64. <primitive 112 pTempVar 10  " - " \
  65.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  66.         16r74 16rF8 16r04 16rF2 16r21 16rF1 16r74 16rF2 16r11 16r24 \
  67.         16r80 16r01 16rC2 16r73 16r10 16r24 16r80 16r01 16rC2 16r72 \
  68.         16r21 16r11 16r24 16r80 16r02 16rC2 16r81 16r03 16rF2 16r22 \
  69.         16r24 16r80 16r02 16rC1 16r60 16r23 16r61 16r10 16r11 16rBE \
  70.         16rF1 16r62 16rF3 16rF5] \
  71.     #( #isKindOf: #denominator #numerator #numerator:  )) >
  72.  
  73. <primitive 112 pTempVar 11  " + " \
  74.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  75.         16r74 16rF8 16r04 16rF2 16r21 16rF1 16r74 16rF2 16r11 16r24 \
  76.         16r80 16r01 16rC2 16r73 16r10 16r24 16r80 16r01 16rC2 16r72 \
  77.         16r24 16r11 16r24 16r80 16r02 16rC2 16r81 16r03 16rF2 16r22 \
  78.         16r24 16r80 16r02 16rC0 16r60 16r23 16r61 16r10 16r11 16rBE \
  79.         16rF1 16r62 16rF3 16rF5] \
  80.     #( #isKindOf: #denominator #numerator #numerator:  )) >
  81.  
  82. <primitive 112 pTempVar 12  " reciprocal " \
  83.   #( #[ 16r10 16r30 16rB5 16rF7 16r07 16r31 16rFA 16r01 16r7B 16rF2 16r5D \
  84.         16rF3 16rF2 16r10 16r71 16r11 16r60 16r21 16r61 16r10 16r11 \
  85.         16rBE 16rF1 16r62 16rF3 16rF5] \
  86.     #( 0.0 'Reciprocal: Improper fraction (x / 0.0)!'  )) >
  87.  
  88. <primitive 112 pTempVar 13  " fraction: " \
  89.   #( #[ 16r21 16r62 16rF5] \
  90.     #(  )) >
  91.  
  92. <primitive 112 pTempVar 14  " denominator: " \
  93.   #( #[ 16r21 16r61 16rF5] \
  94.     #(  )) >
  95.  
  96. <primitive 112 pTempVar 15  " numerator: " \
  97.   #( #[ 16r21 16r60 16rF5] \
  98.     #(  )) >
  99.  
  100. <primitive 112 pTempVar 16  " coerce: " \
  101.   #( #[ 16r40 16rA0 16r72 16r22 16r21 16r81 16r01 16rF2 16r22 16r32 16r81 \
  102.         16r03 16rF2 16r22 16r21 16r81 16r04 16rF2 16r22 16rF3 16rF5 \
  103.        ] \
  104.     #( #Fraction #numerator: 1.0 #denominator: #fraction:  )) >
  105.  
  106. <primitive 112 pTempVar 17  " asFloat " \
  107.   #( #[ 16r11 16r30 16rB5 16rF7 16r07 16r31 16rFA 16r01 16r7B 16rF2 16r5D \
  108.         16rF3 16rF2 16r10 16r11 16rBE 16rF1 16r62 16rF3 16rF5] \
  109.     #( 0.0 'Improper fraction (x / 0.0)!'  )) >
  110.  
  111. <primitive 112 pTempVar 18  " fraction " \
  112.   #( #[ 16r12 16rF3 16rF5] \
  113.     #(  )) >
  114.  
  115. <primitive 112 pTempVar 19  " denominator " \
  116.   #( #[ 16r11 16rF3 16rF5] \
  117.     #(  )) >
  118.  
  119. <primitive 112 pTempVar 20  " numerator " \
  120.   #( #[ 16r10 16rF3 16rF5] \
  121.     #(  )) >
  122.  
  123. <primitive 112 pTempVar 21  " new " \
  124.   #( #[ 16r05 16r2B 16r30 16rB0 16r60 16r05 16r2B 16r31 16rB0 16r61 16r05 \
  125.         16r2B 16r32 16rB0 16r62 16rF5] \
  126.     #( 0.0 1.0 0.0  )) >
  127.  
  128. <primitive 98 #Fraction \
  129.   <primitive 97 #Fraction #Magnitude #Fraction.st \
  130.    #(  #n #d #ratio ) \
  131.    #( #>= #<= #> #< #~= #== #printString #/ #* #- #+ #reciprocal #fraction:  \
  132.        #denominator: #numerator: #coerce: #asFloat #fraction #denominator #numerator #new  ) \
  133.   pTempVar 5 8 >>
  134.  
  135.